package com.sugar.follow.up.module.business.dal.dataobject.patientsqpg;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sugar.follow.up.framework.mybatis.core.dataobject.BaseDO;
import com.sugar.follow.up.framework.mybatis.core.type.StringListTypeHandler;
import lombok.*;

import java.time.LocalDate;
import java.util.List;

/**
 * 术前评估 DO
 *
 * @author Ysugar
 */
@TableName(value = "business_patient_sqpg", autoResultMap = true)
@KeySequence("business_patient_sqpg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientSqpgDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 就诊人ID
     */
    private Long patientId;
    /**
     * 就诊人姓名（冗余）
     */
    private String patientName;
    /**
     * 录入医生ID
     */
    private Long doctorId;
    /**
     * 录入医生姓名（冗余）
     */
    private String doctorName;
    /**
     * 检查日期
     */
    private LocalDate examinationDate;
    /**
     * 检查项目
     */
    private String examinationProject;
    /**
     * 症状（多选：尿频；尿急；尿痛；排尿困难）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> symptom;
    /**
     * ALT
     */
    private String alt;
    /**
     * AST
     */
    private String ast;
    /**
     * Cr
     */
    private String cr;
    /**
     * BUN
     */
    private String bun;
    /**
     * PSA
     */
    private String psa;
    /**
     * 睾酮
     */
    private String testosterone;
    /**
     * WBC
     */
    private String wbc;
    /**
     * Hb
     */
    private String hb;
    /**
     * Plt
     */
    private String plt;
    /**
     * B超（多选：精囊腺；直肠；膀胱）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> bbUltrasound;
    /**
     * MRI（多选：包膜；精囊腺；淋巴结）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> mri;
    /**
     * PSMA（多选：肝脏；肺；淋巴结；骨）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> psma;
    /**
     * ECOG 体能评分
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> ecog;
    /**
     * 盆底功能锻炼（有；无）
     */
    private String pdgndl;
    /**
     * 骨转移（有；无）
     */
    private String gzy;
}
